package com.xintonghua.bussiness.abcpinying;//package com.sunwang.shangxing.common.abcpinying;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import android.app.Activity;
//import android.content.Context;
//import android.content.Intent;
//import android.os.Handler;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.Adapter;
//import android.widget.BaseAdapter;
//import android.widget.CheckBox;
//import android.widget.FrameLayout;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.SectionIndexer;
//import android.widget.TextView;
//
//
//
//public class ChoiceCityAdapter extends BaseAdapter implements SectionIndexer {
//	private List<SortModel> list = null;
//	private Context mContext;
//
//	private setSelectWeiFalse mSelectWeiFalse;
//	// private DisplayImageOptions options;
//	/**
//	 * 保存选择的数据的map
//	 */
//	private Map<Integer, Object> map;
//
//	List<CityDataChildModel> usercityList;// 用户最近选择的城市的list
//	List<CityDataChildModel> HotcityList;// 热门城市的list
//
//	public ChoiceCityAdapter(Context mContext, List<SortModel> list) {
//		this.mContext = mContext;
//		this.list = list;
//		usercityList = new ArrayList<CityDataChildModel>();
//		HotcityList = new ArrayList<CityDataChildModel>();
//		map = new HashMap<Integer, Object>();
//		// options = new DisplayImageOptions.Builder()
//		// .showStubImage(R.drawable.ic_stub)
//		// .showImageForEmptyUri(R.drawable.noimage)
//		// .showImageOnFail(R.drawable.noimage).cacheInMemory()
//		// .cacheOnDisc().displayer(new RoundedBitmapDisplayer(5)).build();
//	}
//
//	public List<CityDataChildModel> getUsercityList() {
//		return usercityList;
//	}
//
//	public void setUsercityList(List<CityDataChildModel> usercityList) {
//		this.usercityList = usercityList;
//	}
//
//	public List<CityDataChildModel> getHotcityList() {
//		return HotcityList;
//	}
//
//	public void setHotcityList(List<CityDataChildModel> hotcityList) {
//		HotcityList = hotcityList;
//	}
//
//	/**
//	 * 当ListView数据发生变化时,调用此方法来更新ListView
//	 *
//	 * @param list
//	 */
//	public void updateListView(List<SortModel> list) {
//		this.list = list;
//		notifyDataSetChanged();
//	}
//
//	@Override
//	public int getCount() {
//		return this.list.size();
//	}
//
//	@Override
//	public Object getItem(int position) {
//		return list.get(position);
//	}
//
//	@Override
//	public long getItemId(int position) {
//		return position;
//	}
//
//	@Override
//	public int getItemViewType(int position) {
//		// TODO Auto-generated method stub
//		if (list.get(position).isIs_Select_City() == true) {
//			return 1;
//		}
//
//		return 0;
//	}
//
//	@Override
//	public int getViewTypeCount() {
//		// TODO Auto-generated method stub
//		return 3;
//	}
//
//	Handler handler = new Handler();
//
//	@Override
//	public View getView(final int position, View view, ViewGroup arg2) {
//		ViewHolder viewHolder = null;
//		final SortModel mContent = list.get(position);
//		int type = getItemViewType(position);
//		if (view == null) {
//
//			if (type == 0) {
//				viewHolder = new ViewHolder();
//				view = LayoutInflater.from(mContext).inflate(R.layout.abc_choice_crew_item, null);
//				viewHolder.tvTitle = (TextView) view.findViewById(R.id.title);
//				viewHolder.tvLetter = (TextView) view.findViewById(R.id.catalog);
//				viewHolder.ll_jump = (LinearLayout) view.findViewById(R.id.ll_jump);
//				viewHolder.abc_choice_img = (ImageView) view.findViewById(R.id.abc_choice_img);
//				view.setTag(viewHolder);
//			} else if (type == 1) {// 顶部的定位城市以及热门城市和用户最近选择的城市
//				viewHolder = new ViewHolder();
//				view = LayoutInflater.from(mContext).inflate(R.layout.activity_select_city_list_item, null);
//				// ll_zuijin
//				viewHolder.myGridViewShowAll1 = (MyGridView_ShowAll) view.findViewById(R.id.myGridViewShowAll1);
//				viewHolder.myGridViewShowAll2 = (MyGridView_ShowAll) view.findViewById(R.id.myGridViewShowAll2);
//				viewHolder.myGridViewShowAll3 = (MyGridView_ShowAll) view.findViewById(R.id.myGridViewShowAll3);
//				viewHolder.ll_zuijin = (LinearLayout) view.findViewById(R.id.ll_zuijin);
//				// viewHolder.tvTitle = (TextView)
//				// view.findViewById(R.id.title);
//				// viewHolder.tvLetter = (TextView)
//				// view.findViewById(R.id.catalog);
//				// viewHolder.abc_choice_img = (ImageView)
//				// view.findViewById(R.id.abc_choice_img);
//				view.setTag(viewHolder);
//			}
//
//		} else {
//			viewHolder = (ViewHolder) view.getTag();
//		}
//		if (type == 0) {
//			// 根据position获取分类的首字母的Char ascii值
//			int section = getSectionForPosition(position);
//			// 如果当前位置等于该分类首字母的Char的位置 ，则认为是第一次出现
//			if (position == getPositionForSection(section)) {
//				viewHolder.tvLetter.setVisibility(View.VISIBLE);
//				viewHolder.tvLetter.setText(mContent.getSortLetters());
//			} else {
//				viewHolder.tvLetter.setVisibility(View.GONE);
//			}
//			viewHolder.tvTitle.setText(this.list.get(position).getName());
//			viewHolder.abc_choice_img.setVisibility(View.GONE);
//			viewHolder.ll_jump.setOnClickListener(new View.OnClickListener() {
//
//				@Override
//				public void onClick(View v) {
//					// TODO Auto-generated method stub
//					HashMap<String, String> map = new HashMap<String, String>();
//					map.put("city", mContent.getName());
//					map.put("cityid", mContent.getCid());
//					// Log.i("aaa", "传的数据为" + mContent.getCid());/
//					JumpUtils.jumpResultfinish(mContext, ((Activity) mContext).RESULT_OK, map);
//				}
//			});
//			// new
//			// xUtilsImageLoader(mContext).display(viewHolder.abc_choice_img,
//			// list.get(position).getCbimage());
//			// ImageLoader.getInstance().displayImage(
//			// Constants.BadiDownImgUrl +
//			// list.get(position).getHead()+Constants.appPhoto4img,
//			// viewHolder.abc_choice_img, options);
//			SynchronizedToTheMap(view, position);
//		} else if (type == 1) {
//			// viewHolder.myGridViewShowAll1.setVisibility(View.VISIBLE);
//			// viewHolder.myGridViewShowAll2.setVisibility(View.VISIBLE);
//			// viewHolder.myGridViewShowAll3.setVisibility(View.VISIBLE);
//
//			List<String> l = new ArrayList<String>();
//			l.add("定位中...");
//			viewHolder.myGridViewShowAll1.setNumColumns(1);
//			// 定位
//			AbstractBaseAdapter adapter1 = new AbstractBaseAdapter<String>(l) {
//				@Override
//				public View getAdapterViewAtPosition(int position, View convertView, ViewGroup parent) {
//					// TODO Auto-generated method stub
//					// com.carinsurance.adapter.ViewHolder;
//					if (convertView == null) {
//						convertView = LayoutInflater.from(mContext).inflate(R.layout.activity_choice_city_adapter_item1, null);
//					}
//					String c = getItem(position);
//					TextView tv_city = com.carinsurance.adapter.ViewHolder.get(convertView, R.id.tv_city);
//
//					FrameLayout fl_location = com.carinsurance.adapter.ViewHolder.get(convertView, R.id.fl_location);
//
//					float dp30 = DisplayUtil.getDip(mContext, 30);
//					float winW = SystemUtils.getScreenW(mContext);
//
//					float aa = winW - dp30;
//					double w = MathUtils.div(aa, 3, 0);
//					LinearLayout.LayoutParams params = new LinearLayout.LayoutParams((int) w, LinearLayout.LayoutParams.WRAP_CONTENT);
//					fl_location.setLayoutParams(params);
//
//					tv_city.setText(c);
//					Location(tv_city, fl_location);
//
//					return convertView;
//				}
//
//				private void Location(final TextView tv_city, final FrameLayout fl_location) {
//					// TODO Auto-generated method stub
//					if (!StringUtil.isNullOrEmpty(Content.Lat) && !StringUtil.isNullOrEmpty(Content.Lng)) {
//						if (!StringUtil.isNullOrEmpty(Content.cityName)) {// 如果定位是成功的，有地址
//							tv_city.setText(Content.cityName);
//							fl_location.setOnClickListener(new View.OnClickListener() {
//
//								@Override
//								public void onClick(View v) {
//									HashMap<String, String> map = new HashMap<String, String>();
//									map.put("city", tv_city.getText().toString().trim());
//									JumpUtils.jumpResultfinish(mContext, ((Activity) mContext).RESULT_OK, map);
//								}
//							});
//						} else if (!StringUtil.isNullOrEmpty(Content.province)) {
//							tv_city.setText(Content.province);
//							fl_location.setOnClickListener(new View.OnClickListener() {
//
//								@Override
//								public void onClick(View v) {
//									HashMap<String, String> map = new HashMap<String, String>();
//									map.put("city", tv_city.getText().toString().trim());
//									// map.put("cityid", );
//									JumpUtils.jumpResultfinish(mContext, ((Activity) mContext).RESULT_OK, map);
//								}
//							});
//						}
//					} else {
//						tv_city.setText("定位失败，请点击重试！");
//						// float dp30 = DisplayUtil.getDip(mContext, 30);
//						// float winW = SystemUtils.getScreenW(mContext);
//						//
//						// float aa = winW - dp30;
//						// double w = MathUtils.div(aa, 3, 0);
//						LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//
//						fl_location.setLayoutParams(params);
//
//						fl_location.setOnClickListener(new View.OnClickListener() {
//
//							@Override
//							public void onClick(View v) {
//								// TODO Auto-generated method stub
//
//								AMapLocationUtils1.getIns(mContext).startLocation(mContext);
//								handler.postDelayed(new Runnable() {
//
//									@Override
//									public void run() {
//										// TODO Auto-generated method stub
//										Location(tv_city, fl_location);
//									}
//								}, 500);
//
//							}
//						});
//					}
//				}
//
//			};
//			AbstractBaseAdapter adapter2 = new AbstractBaseAdapter<CityDataChildModel>(usercityList) {
//				@Override
//				public View getAdapterViewAtPosition(int position, View convertView, ViewGroup parent) {
//					// TODO Auto-generated method stub
//					// com.carinsurance.adapter.ViewHolder;
//					if (convertView == null) {
//						convertView = LayoutInflater.from(mContext).inflate(R.layout.activity_choice_city_adapter_item, null);
//					}
//					final CityDataChildModel c = getItem(position);
//					final TextView tv_city = com.carinsurance.adapter.ViewHolder.get(convertView, R.id.tv_city);
//					FrameLayout fl_location = com.carinsurance.adapter.ViewHolder.get(convertView, R.id.fl_location);
//					tv_city.setTextSize(15);
//					if (c.getName().length() <= 3) {
//						tv_city.setTextSize(15);
//					} else if (c.getName().length() <= 4) {
//						tv_city.setTextSize(12);
//					} else {
//						tv_city.setTextSize(10);
//					}
//					tv_city.setText(c.getName());
//					fl_location.setOnClickListener(new View.OnClickListener() {
//
//						@Override
//						public void onClick(View v) {
//							HashMap<String, String> map = new HashMap<String, String>();
//							map.put("city", tv_city.getText().toString().trim());
//							map.put("cityid", "" + c.getCid());
//							JumpUtils.jumpResultfinish(mContext, ((Activity) mContext).RESULT_OK, map);
//						}
//					});
//
//					return convertView;
//				}
//
//			};
//			AbstractBaseAdapter adapter3 = new AbstractBaseAdapter<CityDataChildModel>(HotcityList) {
//
//				@Override
//				public int getCount() {
//					// TODO Auto-generated method stub
//
//					if (HotcityList.size() >= 9) {
//						return 9;
//					} else
//						return HotcityList.size();
//
//				}
//
//				@Override
//				public View getAdapterViewAtPosition(int position, View convertView, ViewGroup parent) {
//					// TODO Auto-generated method stub
//					// com.carinsurance.adapter.ViewHolder;
//					if (convertView == null) {
//						convertView = LayoutInflater.from(mContext).inflate(R.layout.activity_choice_city_adapter_item, null);
//					}
//					final CityDataChildModel c = getItem(position);
//					final TextView tv_city = com.carinsurance.adapter.ViewHolder.get(convertView, R.id.tv_city);
//					FrameLayout fl_location = com.carinsurance.adapter.ViewHolder.get(convertView, R.id.fl_location);
//					tv_city.setTextSize(15);
//					if (c.getName().length() <= 3) {
//						tv_city.setTextSize(15);
//					} else if (c.getName().length() <= 4) {
//						tv_city.setTextSize(12);
//					} else {
//						tv_city.setTextSize(10);
//					}
//					tv_city.setText(c.getName());
//					fl_location.setOnClickListener(new View.OnClickListener() {
//
//						@Override
//						public void onClick(View v) {
//							HashMap<String, String> map = new HashMap<String, String>();
//							map.put("city", tv_city.getText().toString().trim());
//							map.put("cityid", "" + c.getCid());
//							JumpUtils.jumpResultfinish(mContext, ((Activity) mContext).RESULT_OK, map);
//						}
//					});
//
//					return convertView;
//				}
//
//			};
//			if (ListUtil.isNullOrEmpty(usercityList)) {
//				viewHolder.ll_zuijin.setVisibility(View.GONE);
//				viewHolder.myGridViewShowAll2.setVisibility(View.GONE);
//			} else {
//				viewHolder.ll_zuijin.setVisibility(View.VISIBLE);
//				viewHolder.myGridViewShowAll2.setVisibility(View.VISIBLE);
//			}
//
//			viewHolder.myGridViewShowAll1.setAdapter(adapter1);
//			// viewHolder.myGridViewShowAll1.set
//			viewHolder.myGridViewShowAll2.setAdapter(adapter2);
//			viewHolder.myGridViewShowAll3.setAdapter(adapter3);
//		}
//
//		return view;
//	}
//
//	final class ViewHolder {
//		public LinearLayout ll_zuijin;
//		public LinearLayout ll_jump;
//		TextView tvLetter;
//		TextView tvTitle;
//		ImageView abc_choice_img;
//		MyGridView_ShowAll myGridViewShowAll1, myGridViewShowAll2, myGridViewShowAll3;
//
//	}
//
////	public void location() {
////		// 这只是一个使用接口的模板
////		final AMapLocationUtils1 aMapLocationUtils = new AMapLocationUtils1(mContext);
////		new Thread(new Runnable() {
////			boolean isRun = true;
////
////			@Override
////			public void run() {
////
////				while (isRun) {
////					try {
////						Thread.sleep(200);
////					} catch (InterruptedException e) {
////						// TODO Auto-generated catch block
////						e.printStackTrace();
////					}
////					aMapLocationUtils.setOnAMapLocationClistener(new getAMapLocation() {
////
////						@Override
////						public void getAMapLocation(AMapLocation aMapLocation, boolean islocation) {
////							// Log.i("aaa", "" + aMapLocation);
////							if (aMapLocation != null) {
////								Log.i("aaa", "经度-》" + aMapLocation.getLongitude() + "纬度=》" + aMapLocation.getLatitude());
////								// Bundle locBundle =
////								// aMapLocation.getExtras();
////								Content.Lng = "" + aMapLocation.getLongitude();
////								Content.Lat = "" + aMapLocation.getLatitude();
////
////								// String cityName = aMapLocation.getCity();
////								// Utils.setCityName(mContext, cityName);
////
////								Content.cityName = "" + aMapLocation.getCity();
////								Content.district = "" + aMapLocation.getDistrict();
////								Content.province = "" + aMapLocation.getProvince();
////
////								// Log.v("aaa","citycode="+cityName);
////								// getWeather(cityName);
////								isRun = false;
////							}
////							// Log.i("aaa", "是否正在定位：===》" + islocation);
////							if (islocation == false) {
////								isRun = false;
////								// getWeather(getResources().getString(R.string.guiyang));
////							}
////
////						}
////					});
////				}
////
////			}
////		}).start();
////
////	}
//
//	/**
//	 * 根据ListView的当前位置获取分类的首字母的Char ascii值
//	 */
//	@Override
//	public int getSectionForPosition(int position) {
//		return list.get(position).getSortLetters().charAt(0);
//	}
//
//	/**
//	 * 根据分类的首字母的Char ascii值获取其第一次出现该首字母的位置
//	 */
//	@Override
//	public int getPositionForSection(int section) {
//		for (int i = 0; i < getCount(); i++) {
//			String sortStr = list.get(i).getSortLetters();
//			char firstChar = sortStr.toUpperCase().charAt(0);
//			if (firstChar == section) {
//				return i;
//			}
//		}
//		return -1;
//	}
//
//	/**
//	 * 提取英文的首字母，非英文字母用#代替。
//	 *
//	 * @param str
//	 * @return
//	 */
//	private String getAlpha(String str) {
//		String sortStr = str.trim().substring(0, 1).toUpperCase();
//		// 正则表达式，判断首字母是否是英文字母
//		if (sortStr.matches("[A-Z]")) {
//			return sortStr;
//		} else {
//			return "#";
//		}
//	}
//
//	public void OnSelectWeiFalseClistener(setSelectWeiFalse set) {
//		mSelectWeiFalse = set;
//	}
//
//	/**
//	 * 这个接口用于设置点击之后将全部选中/不选中置为空
//	 *
//	 * @author Administrator
//	 *
//	 */
//	interface setSelectWeiFalse {
//		void setFalse();
//	}
//
//	/**
//	 * 将所有的全部选中放入map中
//	 */
//	public void CheckAll() {
//		for (int i = 0; i < list.size(); i++) {
//			if (!map.containsKey(i))
//				map.put(i, list.get(i));
//			notifyDataSetChanged();
//		}
//	}
//
//	/**
//	 * 清除掉所有
//	 */
//	public void ClearAll() {
//		map.clear();
//		notifyDataSetChanged();
//	}
//
//	/**
//	 * 这个方法是为了和map同步，主要是用于点击全选和不全选后的操作（原理是点击全选后将list中的数据全部加入到map当中 配合CheckAll使用）
//	 * ,这个操作必须根据map中的数据来设置，否则没办法
//	 */
//	private void SynchronizedToTheMap(View view, int position) {
//		CheckBox mCheckbox = (CheckBox) view.findViewById(R.id.ChoiceCrew_select);
//		// 这里要与map中的数据同步
//		if (map.containsKey(position)) {
//			mCheckbox.setChecked(true);
//		} else {
//			mCheckbox.setChecked(false);
//		}
//
//	}
//
//	@Override
//	public Object[] getSections() {
//		return null;
//	}
//
//	public Map<Integer, Object> getMap() {
//		return map;
//	}
//
//	public void setMap(Map<Integer, Object> map) {
//		this.map = map;
//	}
//
//	public List<SortModel> getList() {
//		return list;
//	}
//
//	public void setList(List<SortModel> list) {
//		this.list = list;
//	}
//
//}